package cliente;

import static org.junit.Assert.*;

import java.sql.SQLException;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

import base_de_dados.GestorBD;

import stock.Existencia;

public class FornecedorTest {

	private static Fornecedor f ;
	private static GestorBD gestor_bd;
	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
		Fornecedor f = new Fornecedor(2, "Diogo", "ISCTE", "214860000", "www.iscte.pt", "a25839@iscte.pt");
		gestor_bd = new GestorBD();
	}

	@AfterClass
	public static void tearDownAfterClass() throws Exception {
		f=null;
	}

	@Before
	public void setUp() throws Exception {
		System.out.println("setUp()");
	}

	@After
	public void tearDown() throws Exception {
		  System.out.println("tearDown()");
	}

	@Test
	public void testFornecedorInt() throws SQLException {
	int id =2;
	Fornecedor f1 = new Fornecedor(2, "Andre", null, null, null, null);
	assertTrue(f1.getId() == id);
		
	}

	@Test
	public void testFornecedorIntStringStringStringStringString() {
		int id =2;
		String nome= "Diogo";
		Fornecedor f1 = new Fornecedor(2, "Diogo", "ISCTE", "214860000", "www.iscte.pt", "a25839@iscte.pt");
		assertTrue(f1.getId() == id);
		assertNotNull(f1);
		assertTrue(f1.getNome() == nome);
	}

	@Test
	public void testGetNome() throws SQLException {
		
		Fornecedor f1 = new Fornecedor(1, "Diogo", null, null, null, null);
		assertTrue(f1.getNome() =="Diogo");
	}

	@Test
	public void testSetNome() {
		Fornecedor f1 = new Fornecedor(1, "Diogo", null, null, null, null);
		f1.setNome("andre");
		assertTrue(f1.getNome() =="andre");
	}

	@Test
	public void testGetMorada() {
		Fornecedor f1 = new Fornecedor(2, "Diogo", "ISCTE", "214860000", "www.iscte.pt", "a25839@iscte.pt");
		assertTrue(f1.getMorada() =="ISCTE");
	}

	@Test
	public void testSetMorada() {
		Fornecedor f1 = new Fornecedor(2, "Diogo", "ISCTE", "214860000", "www.iscte.pt", "a25839@iscte.pt");
		f1.setMorada("cascais");
		assertTrue(f1.getMorada() =="cascais");
	}

	@Test
	public void testGetTelefone() {
		Fornecedor f1 = new Fornecedor(2, "Diogo", "ISCTE", "214860000", "www.iscte.pt", "a25839@iscte.pt");
		assertTrue(f1.getTelefone() =="214860000");
	}

	@Test
	public void testSetTelefone() {
		Fornecedor f1 = new Fornecedor(2, "Diogo", "ISCTE", "214860000", "www.iscte.pt", "a25839@iscte.pt");
		f1.setTelefone("214860001");
		assertTrue(f1.getTelefone() =="214860001");
	}

	@Test
	public void testGetEndereco_web() {
		Fornecedor f1 = new Fornecedor(2, "Diogo", "ISCTE", "214860000", "www.iscte.pt", "a25839@iscte.pt");
		assertTrue(f1.getEndereco_web() =="www.iscte.pt");
	}

	@Test
	public void testSetEndereco_web() {
		Fornecedor f1 = new Fornecedor(2, "Diogo", "ISCTE", "214860000", "www.iscte.pt", "a25839@iscte.pt");
		f1.setEndereco_web("www.osiris.iscte.pt");
		assertTrue(f1.getEndereco_web() =="www.osiris.iscte.pt");
	}

	@Test
	public void testGetEmail() {
		Fornecedor f1 = new Fornecedor(2, "Diogo", "ISCTE", "214860000", "www.iscte.pt", "a25839@iscte.pt");
		assertTrue(f1.getEmail() =="a25839@iscte.pt");
	}

	@Test
	public void testSetEmail() {
		Fornecedor f1 = new Fornecedor(2, "Andre", "ISCTE", "214860000", "www.iscte.pt", "a25839@iscte.pt");
		f1.setEmail("diogo@hotmail.com");
		assertTrue(f1.getEmail() =="diogo@hotmail.com");
	}

	
	

	@Test
	public void testRemover() {
		Fornecedor f1 = new Fornecedor(2, "Diogo", "ISCTE", "214860000", "www.iscte.pt", "a25839@iscte.pt");
		f1.remover();
		assertTrue(gestor_bd.getById(2, "fornecedor")!=f1);
	}

	
}
